{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "tropical-conversion",
   "metadata": {},
   "source": [
    "## 习题 3.5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "manual-bidding",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table class=\"dataframe\">\n",
       "<caption>A data.frame: 3 × 13</caption>\n",
       "<thead>\n",
       "\t<tr><th scope=col>科研经费投入</th><th scope=col>生产能力提高量</th><th scope=col>生产能力提高量.1</th><th scope=col>生产能力提高量.2</th><th scope=col>生产能力提高量.3</th><th scope=col>生产能力提高量.4</th><th scope=col>生产能力提高量.5</th><th scope=col>生产能力提高量.6</th><th scope=col>生产能力提高量.7</th><th scope=col>生产能力提高量.8</th><th scope=col>生产能力提高量.9</th><th scope=col>生产能力提高量.10</th><th scope=col>生产能力提高量.11</th></tr>\n",
       "\t<tr><th scope=col>&lt;chr&gt;</th><th scope=col>&lt;dbl&gt;</th><th scope=col>&lt;dbl&gt;</th><th scope=col>&lt;dbl&gt;</th><th scope=col>&lt;dbl&gt;</th><th scope=col>&lt;dbl&gt;</th><th scope=col>&lt;dbl&gt;</th><th scope=col>&lt;chr&gt;</th><th scope=col>&lt;chr&gt;</th><th scope=col>&lt;chr&gt;</th><th scope=col>&lt;chr&gt;</th><th scope=col>&lt;chr&gt;</th><th scope=col>&lt;dbl&gt;</th></tr>\n",
       "</thead>\n",
       "<tbody>\n",
       "\t<tr><td>低</td><td>7.6</td><td>8.2</td><td> 6.8</td><td>5.8</td><td>6.9</td><td>6.6</td><td>6.3</td><td>7.7</td><td>6  </td><td>   </td><td>   </td><td> NA</td></tr>\n",
       "\t<tr><td>中</td><td>6.7</td><td>8.1</td><td> 9.4</td><td>8.6</td><td>7.8</td><td>7.7</td><td>8.9</td><td>7.9</td><td>8.3</td><td>8.7</td><td>7.1</td><td>8.4</td></tr>\n",
       "\t<tr><td>高</td><td>8.5</td><td>9.7</td><td>10.1</td><td>7.8</td><td>9.6</td><td>9.5</td><td>   </td><td>   </td><td>   </td><td>   </td><td>   </td><td> NA</td></tr>\n",
       "</tbody>\n",
       "</table>\n"
      ],
      "text/latex": [
       "A data.frame: 3 × 13\n",
       "\\begin{tabular}{lllllllllllll}\n",
       " 科研经费投入 & 生产能力提高量 & 生产能力提高量.1 & 生产能力提高量.2 & 生产能力提高量.3 & 生产能力提高量.4 & 生产能力提高量.5 & 生产能力提高量.6 & 生产能力提高量.7 & 生产能力提高量.8 & 生产能力提高量.9 & 生产能力提高量.10 & 生产能力提高量.11\\\\\n",
       " <chr> & <dbl> & <dbl> & <dbl> & <dbl> & <dbl> & <dbl> & <chr> & <chr> & <chr> & <chr> & <chr> & <dbl>\\\\\n",
       "\\hline\n",
       "\t 低 & 7.6 & 8.2 &  6.8 & 5.8 & 6.9 & 6.6 & 6.3 & 7.7 & 6   &     &     &  NA\\\\\n",
       "\t 中 & 6.7 & 8.1 &  9.4 & 8.6 & 7.8 & 7.7 & 8.9 & 7.9 & 8.3 & 8.7 & 7.1 & 8.4\\\\\n",
       "\t 高 & 8.5 & 9.7 & 10.1 & 7.8 & 9.6 & 9.5 &     &     &     &     &     &  NA\\\\\n",
       "\\end{tabular}\n"
      ],
      "text/markdown": [
       "\n",
       "A data.frame: 3 × 13\n",
       "\n",
       "| 科研经费投入 &lt;chr&gt; | 生产能力提高量 &lt;dbl&gt; | 生产能力提高量.1 &lt;dbl&gt; | 生产能力提高量.2 &lt;dbl&gt; | 生产能力提高量.3 &lt;dbl&gt; | 生产能力提高量.4 &lt;dbl&gt; | 生产能力提高量.5 &lt;dbl&gt; | 生产能力提高量.6 &lt;chr&gt; | 生产能力提高量.7 &lt;chr&gt; | 生产能力提高量.8 &lt;chr&gt; | 生产能力提高量.9 &lt;chr&gt; | 生产能力提高量.10 &lt;chr&gt; | 生产能力提高量.11 &lt;dbl&gt; |\n",
       "|---|---|---|---|---|---|---|---|---|---|---|---|---|\n",
       "| 低 | 7.6 | 8.2 |  6.8 | 5.8 | 6.9 | 6.6 | 6.3 | 7.7 | 6   |     |     |  NA |\n",
       "| 中 | 6.7 | 8.1 |  9.4 | 8.6 | 7.8 | 7.7 | 8.9 | 7.9 | 8.3 | 8.7 | 7.1 | 8.4 |\n",
       "| 高 | 8.5 | 9.7 | 10.1 | 7.8 | 9.6 | 9.5 |     |     |     |     |     |  NA |\n",
       "\n"
      ],
      "text/plain": [
       "  \\u79d1\\u7814\\u7ecf\\u8d39\\u6295\\u5165\n",
       "1 \\u4f4e                              \n",
       "2 \\u4e2d                              \n",
       "3 \\u9ad8                              \n",
       "  \\u751f\\u4ea7\\u80fd\\u529b\\u63d0\\u9ad8\\u91cf\n",
       "1 7.6                                       \n",
       "2 6.7                                       \n",
       "3 8.5                                       \n",
       "  \\u751f\\u4ea7\\u80fd\\u529b\\u63d0\\u9ad8\\u91cf.1\n",
       "1 8.2                                         \n",
       "2 8.1                                         \n",
       "3 9.7                                         \n",
       "  \\u751f\\u4ea7\\u80fd\\u529b\\u63d0\\u9ad8\\u91cf.2\n",
       "1  6.8                                        \n",
       "2  9.4                                        \n",
       "3 10.1                                        \n",
       "  \\u751f\\u4ea7\\u80fd\\u529b\\u63d0\\u9ad8\\u91cf.3\n",
       "1 5.8                                         \n",
       "2 8.6                                         \n",
       "3 7.8                                         \n",
       "  \\u751f\\u4ea7\\u80fd\\u529b\\u63d0\\u9ad8\\u91cf.4\n",
       "1 6.9                                         \n",
       "2 7.8                                         \n",
       "3 9.6                                         \n",
       "  \\u751f\\u4ea7\\u80fd\\u529b\\u63d0\\u9ad8\\u91cf.5\n",
       "1 6.6                                         \n",
       "2 7.7                                         \n",
       "3 9.5                                         \n",
       "  \\u751f\\u4ea7\\u80fd\\u529b\\u63d0\\u9ad8\\u91cf.6\n",
       "1 6.3                                         \n",
       "2 8.9                                         \n",
       "3                                             \n",
       "  \\u751f\\u4ea7\\u80fd\\u529b\\u63d0\\u9ad8\\u91cf.7\n",
       "1 7.7                                         \n",
       "2 7.9                                         \n",
       "3                                             \n",
       "  \\u751f\\u4ea7\\u80fd\\u529b\\u63d0\\u9ad8\\u91cf.8\n",
       "1 6                                           \n",
       "2 8.3                                         \n",
       "3                                             \n",
       "  \\u751f\\u4ea7\\u80fd\\u529b\\u63d0\\u9ad8\\u91cf.9\n",
       "1                                             \n",
       "2 8.7                                         \n",
       "3                                             \n",
       "  \\u751f\\u4ea7\\u80fd\\u529b\\u63d0\\u9ad8\\u91cf.10\n",
       "1                                              \n",
       "2 7.1                                          \n",
       "3                                              \n",
       "  \\u751f\\u4ea7\\u80fd\\u529b\\u63d0\\u9ad8\\u91cf.11\n",
       "1  NA                                          \n",
       "2 8.4                                          \n",
       "3  NA                                          "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "raw_data <- read.csv(\"./ex_3_5.csv\")\n",
    "raw_data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "regular-history",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Warning message in apply(a[!is.na(a)], 1, as.double):\n",
      "“强制改变过程中产生了NA”\n",
      "Warning message in apply(a[!is.na(a)], 1, as.double):\n",
      "“强制改变过程中产生了NA”\n",
      "Warning message in apply(a[!is.na(a)], 1, as.double):\n",
      "“强制改变过程中产生了NA”\n",
      "Warning message in apply(a[!is.na(a)], 1, as.double):\n",
      "“强制改变过程中产生了NA”\n",
      "Warning message in apply(a[!is.na(a)], 1, as.double):\n",
      "“强制改变过程中产生了NA”\n",
      "Warning message in apply(a[!is.na(a)], 1, as.double):\n",
      "“强制改变过程中产生了NA”\n",
      "Warning message in apply(a[!is.na(a)], 1, as.double):\n",
      "“强制改变过程中产生了NA”\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<table class=\"dataframe\">\n",
       "<caption>A data.frame: 27 × 2</caption>\n",
       "<thead>\n",
       "\t<tr><th scope=col>investment</th><th scope=col>improvement</th></tr>\n",
       "\t<tr><th scope=col>&lt;chr&gt;</th><th scope=col>&lt;dbl&gt;</th></tr>\n",
       "</thead>\n",
       "<tbody>\n",
       "\t<tr><td>low </td><td> 7.6</td></tr>\n",
       "\t<tr><td>low </td><td> 8.2</td></tr>\n",
       "\t<tr><td>low </td><td> 6.8</td></tr>\n",
       "\t<tr><td>low </td><td> 5.8</td></tr>\n",
       "\t<tr><td>low </td><td> 6.9</td></tr>\n",
       "\t<tr><td>low </td><td> 6.6</td></tr>\n",
       "\t<tr><td>low </td><td> 6.3</td></tr>\n",
       "\t<tr><td>low </td><td> 7.7</td></tr>\n",
       "\t<tr><td>low </td><td> 6.0</td></tr>\n",
       "\t<tr><td>mid </td><td> 6.7</td></tr>\n",
       "\t<tr><td>mid </td><td> 8.1</td></tr>\n",
       "\t<tr><td>mid </td><td> 9.4</td></tr>\n",
       "\t<tr><td>mid </td><td> 8.6</td></tr>\n",
       "\t<tr><td>mid </td><td> 7.8</td></tr>\n",
       "\t<tr><td>mid </td><td> 7.7</td></tr>\n",
       "\t<tr><td>mid </td><td> 8.9</td></tr>\n",
       "\t<tr><td>mid </td><td> 7.9</td></tr>\n",
       "\t<tr><td>mid </td><td> 8.3</td></tr>\n",
       "\t<tr><td>mid </td><td> 8.7</td></tr>\n",
       "\t<tr><td>mid </td><td> 7.1</td></tr>\n",
       "\t<tr><td>mid </td><td> 8.4</td></tr>\n",
       "\t<tr><td>high</td><td> 8.5</td></tr>\n",
       "\t<tr><td>high</td><td> 9.7</td></tr>\n",
       "\t<tr><td>high</td><td>10.1</td></tr>\n",
       "\t<tr><td>high</td><td> 7.8</td></tr>\n",
       "\t<tr><td>high</td><td> 9.6</td></tr>\n",
       "\t<tr><td>high</td><td> 9.5</td></tr>\n",
       "</tbody>\n",
       "</table>\n"
      ],
      "text/latex": [
       "A data.frame: 27 × 2\n",
       "\\begin{tabular}{ll}\n",
       " investment & improvement\\\\\n",
       " <chr> & <dbl>\\\\\n",
       "\\hline\n",
       "\t low  &  7.6\\\\\n",
       "\t low  &  8.2\\\\\n",
       "\t low  &  6.8\\\\\n",
       "\t low  &  5.8\\\\\n",
       "\t low  &  6.9\\\\\n",
       "\t low  &  6.6\\\\\n",
       "\t low  &  6.3\\\\\n",
       "\t low  &  7.7\\\\\n",
       "\t low  &  6.0\\\\\n",
       "\t mid  &  6.7\\\\\n",
       "\t mid  &  8.1\\\\\n",
       "\t mid  &  9.4\\\\\n",
       "\t mid  &  8.6\\\\\n",
       "\t mid  &  7.8\\\\\n",
       "\t mid  &  7.7\\\\\n",
       "\t mid  &  8.9\\\\\n",
       "\t mid  &  7.9\\\\\n",
       "\t mid  &  8.3\\\\\n",
       "\t mid  &  8.7\\\\\n",
       "\t mid  &  7.1\\\\\n",
       "\t mid  &  8.4\\\\\n",
       "\t high &  8.5\\\\\n",
       "\t high &  9.7\\\\\n",
       "\t high & 10.1\\\\\n",
       "\t high &  7.8\\\\\n",
       "\t high &  9.6\\\\\n",
       "\t high &  9.5\\\\\n",
       "\\end{tabular}\n"
      ],
      "text/markdown": [
       "\n",
       "A data.frame: 27 × 2\n",
       "\n",
       "| investment &lt;chr&gt; | improvement &lt;dbl&gt; |\n",
       "|---|---|\n",
       "| low  |  7.6 |\n",
       "| low  |  8.2 |\n",
       "| low  |  6.8 |\n",
       "| low  |  5.8 |\n",
       "| low  |  6.9 |\n",
       "| low  |  6.6 |\n",
       "| low  |  6.3 |\n",
       "| low  |  7.7 |\n",
       "| low  |  6.0 |\n",
       "| mid  |  6.7 |\n",
       "| mid  |  8.1 |\n",
       "| mid  |  9.4 |\n",
       "| mid  |  8.6 |\n",
       "| mid  |  7.8 |\n",
       "| mid  |  7.7 |\n",
       "| mid  |  8.9 |\n",
       "| mid  |  7.9 |\n",
       "| mid  |  8.3 |\n",
       "| mid  |  8.7 |\n",
       "| mid  |  7.1 |\n",
       "| mid  |  8.4 |\n",
       "| high |  8.5 |\n",
       "| high |  9.7 |\n",
       "| high | 10.1 |\n",
       "| high |  7.8 |\n",
       "| high |  9.6 |\n",
       "| high |  9.5 |\n",
       "\n"
      ],
      "text/plain": [
       "   investment improvement\n",
       "1  low         7.6       \n",
       "2  low         8.2       \n",
       "3  low         6.8       \n",
       "4  low         5.8       \n",
       "5  low         6.9       \n",
       "6  low         6.6       \n",
       "7  low         6.3       \n",
       "8  low         7.7       \n",
       "9  low         6.0       \n",
       "10 mid         6.7       \n",
       "11 mid         8.1       \n",
       "12 mid         9.4       \n",
       "13 mid         8.6       \n",
       "14 mid         7.8       \n",
       "15 mid         7.7       \n",
       "16 mid         8.9       \n",
       "17 mid         7.9       \n",
       "18 mid         8.3       \n",
       "19 mid         8.7       \n",
       "20 mid         7.1       \n",
       "21 mid         8.4       \n",
       "22 high        8.5       \n",
       "23 high        9.7       \n",
       "24 high       10.1       \n",
       "25 high        7.8       \n",
       "26 high        9.6       \n",
       "27 high        9.5       "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "t_raw_data = t(raw_data)  # 转置，方便取数据\n",
    "\n",
    "dict = c(\"low\", \"mid\", \"high\")\n",
    "names(dict) <- c(\"低\", \"中\", \"高\")\n",
    "\n",
    "investment = c()   # 科研经费投入\n",
    "improvement = c()  # 生产能力提高量\n",
    "\n",
    "for (i in 1:3) {\n",
    "    b = dict[[t_raw_data[[1,i]]]]   # 科研经费投入\n",
    "    \n",
    "    a = array(t_raw_data[-1,i])   # 生产能力提高量：下面 2 行将数据转化为 dobule 型，并清除 NA、空值\n",
    "    a = apply(a[!is.na(a)], 1, as.double)  # 这里会有一些产生 NA 的 Warning，这个问题来自：as.double(\"\")，不必在意\n",
    "    a = a[!is.na(a)]  \n",
    "    \n",
    "    for (p in a) {\n",
    "        investment = c(investment, b)\n",
    "        improvement = c(improvement, p)\n",
    "    }\n",
    "}\n",
    "\n",
    "data = data.frame(investment, improvement)\n",
    "data"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "careful-inventory",
   "metadata": {},
   "source": [
    "### (1)\n",
    "\n",
    "![题（1）](https://tva1.sinaimg.cn/large/008i3skNly1gr76e2inkyj31eg03y0ua.jpg)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "southeast-psychology",
   "metadata": {},
   "source": [
    "首先，通过箱线图，直观感觉是有显著差异的："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "recorded-johnson",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAYAAAD958/bAAAEDmlDQ1BrQ0dDb2xvclNwYWNl\nR2VuZXJpY1JHQgAAOI2NVV1oHFUUPpu5syskzoPUpqaSDv41lLRsUtGE2uj+ZbNt3CyTbLRB\nkMns3Z1pJjPj/KRpKT4UQRDBqOCT4P9bwSchaqvtiy2itFCiBIMo+ND6R6HSFwnruTOzu5O4\na73L3PnmnO9+595z7t4LkLgsW5beJQIsGq4t5dPis8fmxMQ6dMF90A190C0rjpUqlSYBG+PC\nv9rt7yDG3tf2t/f/Z+uuUEcBiN2F2Kw4yiLiZQD+FcWyXYAEQfvICddi+AnEO2ycIOISw7UA\nVxieD/Cyz5mRMohfRSwoqoz+xNuIB+cj9loEB3Pw2448NaitKSLLRck2q5pOI9O9g/t/tkXd\na8Tbg0+PszB9FN8DuPaXKnKW4YcQn1Xk3HSIry5ps8UQ/2W5aQnxIwBdu7yFcgrxPsRjVXu8\nHOh0qao30cArp9SZZxDfg3h1wTzKxu5E/LUxX5wKdX5SnAzmDx4A4OIqLbB69yMesE1pKojL\njVdoNsfyiPi45hZmAn3uLWdpOtfQOaVmikEs7ovj8hFWpz7EV6mel0L9Xy23FMYlPYZenAx0\nyDB1/PX6dledmQjikjkXCxqMJS9WtfFCyH9XtSekEF+2dH+P4tzITduTygGfv58a5VCTH5Pt\nXD7EFZiNyUDBhHnsFTBgE0SQIA9pfFtgo6cKGuhooeilaKH41eDs38Ip+f4At1Rq/sjr6NEw\nQqb/I/DQqsLvaFUjvAx+eWirddAJZnAj1DFJL0mSg/gcIpPkMBkhoyCSJ8lTZIxk0TpKDjXH\nliJzZPO50dR5ASNSnzeLvIvod0HG/mdkmOC0z8VKnzcQ2M/Yz2vKldduXjp9bleLu0ZWn7vW\nc+l0JGcaai10yNrUnXLP/8Jf59ewX+c3Wgz+B34Df+vbVrc16zTMVgp9um9bxEfzPU5kPqUt\nVWxhs6OiWTVW+gIfywB9uXi7CGcGW/zk98k/kmvJ95IfJn/j3uQ+4c5zn3Kfcd+AyF3gLnJf\ncl9xH3OfR2rUee80a+6vo7EK5mmXUdyfQlrYLTwoZIU9wsPCZEtP6BWGhAlhL3p2N6sTjRdd\nuwbHsG9kq32sgBepc+xurLPW4T9URpYGJ3ym4+8zA05u44QjST8ZIoVtu3qE7fWmdn5LPdqv\ngcZz8Ww8BWJ8X3w0PhQ/wnCDGd+LvlHs8dRy6bLLDuKMaZ20tZrqisPJ5ONiCq8yKhYM5cCg\nKOu66Lsc0aYOtZdo5QCwezI4wm9J/v0X23mlZXOfBjj8Jzv3WrY5D+CsA9D7aMs2gGfjve8A\nrD6mePZSeCfEYt8CONWDw8FXTxrPqx/r9Vt4biXeANh8vV7/+/16ffMD1N8AuKD/A/8leAvF\nY9bLAAAAOGVYSWZNTQAqAAAACAABh2kABAAAAAEAAAAaAAAAAAACoAIABAAAAAEAAANIoAMA\nBAAAAAEAAANIAAAAAN/ryxkAAEAASURBVHgB7N0JmGxnXSf+uyasYYkmEDCMkQgEhGvCJgGC\nAYZFRBkWB9RhXxSBUQYzjBr0CkoGHhcYRnAEgqMg/AEXkC0hIZHdBG8QwhIgiyQQloQAYbvb\nfH9J1Z+i7equqlvVdZbP+zzfVNU5p85538/bN92/PqdOb9qkESBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAo0X\n2Nz4Hvang3fOULf3Z7hGSoAAAQIECBAg0CGB72Us53ZhPAqkZsxiFUf/3Iyu6AUBAgQIECBA\n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\nAgQIECBAoFkCt0p33pr8SrO6NVFvfjFbVXH3xIm2bsZGF6Qb/9aMrugFAQIE+iOwrT9DNVIC\nBAgQOECBi/P+hxzgPrydAAECBAg0WsBnkBo9PTpHgACBRgncOL2pS9Suk1w66Nl98niX5Pzk\n2OTRyc8nP5zUGZC9SbX7JCckVWR9Jxlt18uLxySHJheOrDg6zx+Z1Nmf2yTfTlb77NPNs/zx\nSe2j+nDT5LPJvqTavZIq7O6cfCW5SVLHqePWeL6V1Nml6vd/SQ5PvpDU8hrrg5M681Tvvyy5\nMlnZ6heOP5v85+QBSY3lc8meZNjquHW8Gsfu5KHJ45I7Jlcnw7Edkue1n+pzHf+LyY2SstMI\nECBAgAABAgQIEGiIwGqfQXpz+lZFw28kVZDUD/5VbFQ+klSxUu1Xk1r29HqxolUBVOueNbL8\n2Xn+3aT2WZeZVaFRxdYLks3JsN0vT6rgqvdX8VPvqef/nNwiqVaf46llw9Q+q+CqwqSWPT/5\nzOD5sP+fzut6/5mD5d8bPFYh85PJaDsqLz6U1L6uSqof9byKxjrGsA2PtzMLPp7UNsP91nGf\nklSrwrD6WOsr9fx1iUaAAAECBAgQIECAQIMExhVI9QP8l5KnJXWW5GZJfVapfrh/blKtzj7V\nmZMP1IsV7Z15XYXCDw2W15mYeu9ZyRGDZXUHvdcmtfyxg2X18Lnky8kx9SLtBkkVUbXdC5Nh\n+8U8qWV1JmjYhgVL9f+vkjpWnT36y6S2rWLobck9koOS/5bU8tcnw1bFWhVjVbz9UjIs3u6f\n519NPpXUe6uNHu8Nef1TSZ15+rnku8kVyfWSYbsgT6o41AgQIECAAAECBAgQaKDAuAKpioan\nruhvFSy1/M0jy+ssSC279ciym+d5nR1608iyT+Z5bXfcyLJ6ev2kLnu7LKlCpC4/q8LkPcmw\nMMnTa25D/tw8PqheDNpaBVIVIQcPN8xjXUpXx/9GckgybHWMKuTOGy7IY10KV9u+ZWTZ8Gmd\nKap1Q5thgXRRlg2Lpjy9plXBVNvWNsOmQBpKeCRAgMAGCmzZwGM5FAECBAh0V+D9K4Z20eD1\naIHx6sGyKlaG7TF5sjUZrqszTbdJqjjYnVTBMMyP5Xmdramiqs721KV170tOSOr4v57cLqmz\nMX+YvD2ZpNXlbvWeYfvXwZNP5fHrw4V5rALm8qTOZg3b3QdPzsjjsJ/Dx7rErloVXKPt3Lyo\nQmu0XTR4ccjoQs8JECBAYOMF6tS+RoAAAQIEDlSgbiQw2qp4qTb6i7jT87rO1lSB9HtJtV9O\n6r3vqBdp9fmbavU4eqbmmoUj/6mzUJcmj0j+JvnppIqVP0ouTOoyuT9IVhYiWfTv2sUrltRZ\nqWpfu/bhB/47XDdcOOxvHXdcGz1jVtustKplq3nVco0AAQIENlhAgbTB4A5HgACBjgrU53jW\na7XNa5LfTu6a1GeS7pS8OKnL7KoNC4V35vmLrlmy+n8+Nlj8pTyemPx4UpfUPTC5T/K85KeS\nByTrtUmKqHH7GPa3ir46u7RaGz0LVesnsVptP5YRIECAwAYIKJA2ANkhCBAgQOD/Fzg1z34r\neWRSl9BVe/W1D9f89zP5b13K9kPJu69Z8oP/uVte1lmc+nxQfSbpJ5MvJ3U53KeTP00OTers\n039MjkguSxbV6pjVqgha2d+6XLAur1vtjFEWawQIECDQRIHRSx+a2D99IkCAAIFuCXw2wzk7\neVhSRdKHk+FndfL0mrNK7/p/7d0xqE9RHAfwDArJiFKspKRsBnYZDDaDpNQrq8VosmOkN0iS\nkJVIitVglsEss8n3W/fW6d+z/LvDq//nV9/+9553/+d//p83nXfOvS+v55JLbRjqdI773sdJ\nJ1HduvY5eZqM1afHddtcJ1LzCs88Geukasl6m846lrtJ76Ua62FO3iVdyVqnOualx7vOOLyH\nAAECGyVgBWmjft2+LAECBHaFQFeMtqeRbO0wov4/pG9Jn2x3P/mSdKXoVtJJyM2kk4euEn1M\nev/Rm+R10m17l5Pzyavkd9LqVrzW7eRY0snLEvU1nWwnN5JPyYPkb3IluZZ0AvUiWac65lNJ\nvToRfJIoAgQIECBAgAABAgR2iUBXcLpa8mgYTychbeu2trG6Q6HtH8bG6birIt2S1slMt6Ht\nVCfT2NWirgK1n+ZXcj0Zq5/7LOk9TPN17bsToL3JXP2D4POkE6tedzU5Mx13UjNWr+0178fG\n6fhnXn+stPe73kn+JPMYep/Ry+RoMtf/Pq8/v5f0vRd6MtXFvPa+prZ/n9q8ECBAgAABAgQI\nECCwwQIH8t3PJieS1S1sI8vBnHQC16fK7Rl/sHK8P+eHV9qWPD2ezvrgiUMLdnokfe1bsD9d\nESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECCwUQL/AJAgdMmqLT20AAAAAElFTkSuQmCC",
      "text/plain": [
       "plot without title"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 420,
       "width": 420
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "boxplot(improvement ~ investment, data = data)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "weighted-psychiatry",
   "metadata": {},
   "source": [
    "接下来建立方差分析表："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "desperate-senior",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "            Df Sum Sq Mean Sq F value   Pr(>F)    \n",
       "investment   2  20.12   10.06   15.72 4.33e-05 ***\n",
       "Residuals   24  15.36    0.64                     \n",
       "---\n",
       "Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "dfc <- aov(improvement ~ investment, data=data)\n",
    "summary(dfc)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "automotive-partition",
   "metadata": {},
   "source": [
    "检验 $p < 0.05$，拒绝原假设，认为在显著水平 $\\alpha=0.05$ 下过去三年科研经费投入的不同对当年生产力的提高有显著影响。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "immune-equivalent",
   "metadata": {},
   "source": [
    "### (2)\n",
    "\n",
    "![题（2）](https://tva1.sinaimg.cn/large/008i3skNly1gr771206vtj61fo08an1e02.jpg)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "minute-outline",
   "metadata": {},
   "source": [
    "首先为了方便，提取出几个组："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "dental-failure",
   "metadata": {},
   "outputs": [],
   "source": [
    "group_low  <- data[investment==\"low\",]\n",
    "group_mid  <- data[investment==\"mid\",]\n",
    "group_high <- data[investment==\"high\",]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "refined-compiler",
   "metadata": {},
   "source": [
    "利用 `t.test` 容易获取到均值的置信区间：\n",
    "\n",
    "> ref: https://zhuanlan.zhihu.com/p/35713329"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "excellent-medicaid",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\n",
       "\tOne Sample t-test\n",
       "\n",
       "data:  group_low$improvement\n",
       "t = 25.361, df = 8, p-value = 6.261e-09\n",
       "alternative hypothesis: true mean is not equal to 0\n",
       "95 percent confidence interval:\n",
       " 6.252390 7.503166\n",
       "sample estimates:\n",
       "mean of x \n",
       " 6.877778 \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "t.test(group_low$improvement)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "about-array",
   "metadata": {},
   "source": [
    "其中 `mean of x` 为均值，`confidence interval` 即置信区间。\n",
    "\n",
    "为了方便，封装如下函数，用来提取这些信息："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "contained-craft",
   "metadata": {},
   "outputs": [],
   "source": [
    "mean_confin <- function(x, ...) {    # mean and confidence interval of x by t.test\n",
    "    t.res <- t.test(x, ...)\n",
    "    mean_val <- t.res$estimate[[\"mean of x\"]]\n",
    "    mean_conf.in <- t.res$conf.in\n",
    "    \n",
    "    res <- c(mean_val, mean_conf.in)\n",
    "    names(res) <- c(\"mean\", \"conf.left\", \"conf.right\")\n",
    "    \n",
    "    res  # ret\n",
    "}"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "composed-drawing",
   "metadata": {},
   "source": [
    "调用上面封装的函数可以很方便地得到一个表格："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "educated-auditor",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table class=\"dataframe\">\n",
       "<caption>A matrix: 3 × 3 of type dbl</caption>\n",
       "<thead>\n",
       "\t<tr><th></th><th scope=col>mean</th><th scope=col>conf.left</th><th scope=col>conf.right</th></tr>\n",
       "</thead>\n",
       "<tbody>\n",
       "\t<tr><th scope=row>L</th><td>6.877778</td><td>6.252390</td><td> 7.503166</td></tr>\n",
       "\t<tr><th scope=row>M</th><td>8.133333</td><td>7.652239</td><td> 8.614427</td></tr>\n",
       "\t<tr><th scope=row>H</th><td>9.200000</td><td>8.289951</td><td>10.110049</td></tr>\n",
       "</tbody>\n",
       "</table>\n"
      ],
      "text/latex": [
       "A matrix: 3 × 3 of type dbl\n",
       "\\begin{tabular}{r|lll}\n",
       "  & mean & conf.left & conf.right\\\\\n",
       "\\hline\n",
       "\tL & 6.877778 & 6.252390 &  7.503166\\\\\n",
       "\tM & 8.133333 & 7.652239 &  8.614427\\\\\n",
       "\tH & 9.200000 & 8.289951 & 10.110049\\\\\n",
       "\\end{tabular}\n"
      ],
      "text/markdown": [
       "\n",
       "A matrix: 3 × 3 of type dbl\n",
       "\n",
       "| <!--/--> | mean | conf.left | conf.right |\n",
       "|---|---|---|---|\n",
       "| L | 6.877778 | 6.252390 |  7.503166 |\n",
       "| M | 8.133333 | 7.652239 |  8.614427 |\n",
       "| H | 9.200000 | 8.289951 | 10.110049 |\n",
       "\n"
      ],
      "text/plain": [
       "  mean     conf.left conf.right\n",
       "L 6.877778 6.252390   7.503166 \n",
       "M 8.133333 7.652239   8.614427 \n",
       "H 9.200000 8.289951  10.110049 "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "mu <- (function() {\n",
    "    L <- mean_confin(group_low$improvement)\n",
    "    M <- mean_confin(group_mid$improvement)\n",
    "    H <- mean_confin(group_high$improvement)\n",
    "    \n",
    "    rbind(L, M, H)\n",
    "})()\n",
    "mu"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "valuable-discrimination",
   "metadata": {},
   "source": [
    "得到三年经费投入为低、中、高情况下当年生产能力提高量的均值为：\n",
    "\n",
    "$$\n",
    "\\begin{aligned}\n",
    "\\mu_L & =  6.877778 \\\\\n",
    "\\mu_M & =  8.133333 \\\\\n",
    "\\mu_H & =  9.2 \\\\\n",
    "\\end{aligned}\n",
    "$$\n",
    "\n",
    "各 95% 置信区间如下：\n",
    "\n",
    "$$\n",
    "\\begin{aligned}\n",
    "\\mu_L & \\in  (6.252390, 7.503166) \\\\\n",
    "\\mu_M & \\in (7.652239, 8.614427) \\\\\n",
    "\\mu_H & \\in (8.289951, 10.110049) \\\\\n",
    "\\end{aligned}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "center-lotus",
   "metadata": {},
   "source": [
    "当然，这里也可以手动实现计算过程，但比较麻烦："
   ]
  },
  {
   "cell_type": "raw",
   "id": "interim-bread",
   "metadata": {},
   "source": [
    "# 分类汇总：means of improvements\n",
    "grouped_means <- aggregate(improvement, by=list(investment), FUN=mean)\n",
    "# 从方差分析表中提取出 MSE\n",
    "mse <- anova(dfc)[\"Residuals\", \"Mean Sq\"]\n",
    "# 带入公式，用 qt 计算 t 分位数，得到置信区间\n",
    "# ..."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "conscious-productivity",
   "metadata": {},
   "source": [
    "要求 Bonferroni 同时置信区间，R 好像没有内置的实现，同样手写麻烦，所以考虑调用第三方包：\n",
    "\n",
    "> ref: https://stackoverflow.com/questions/48572619/bonferroni-simultaneous-confidence-intervals-of-differences-in-means"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "confidential-welding",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Loading required package: DescTools\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "\n",
       "  Posthoc multiple comparisons of means : Bonferroni \n",
       "    95% family-wise confidence level\n",
       "\n",
       "$investment\n",
       "              diff     lwr.ci      upr.ci    pval    \n",
       "low-high -2.322222 -3.4074430 -1.23700140 3.5e-05 ***\n",
       "mid-high -1.066667 -2.0961975 -0.03713579  0.0405 *  \n",
       "mid-low   1.255556  0.3475947  2.16351644  0.0048 ** \n",
       "\n",
       "---\n",
       "Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# install.packages(\"DescTools\")\n",
    "require(DescTools)\n",
    "PostHocTest(dfc, method = \"bonferroni\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "growing-romantic",
   "metadata": {},
   "source": [
    "得到 $\\mu_L-\\mu_M$，$\\mu_L-\\mu_H$ 和 $\\mu_M-\\mu_H$ 的置信度不小于 95% 的 Bonferroni 同时置信区间：\n",
    "\n",
    "$$\n",
    "\\begin{aligned}\n",
    "\\mu_L-\\mu_M & \\in (-2.16351644, -0.3475947  ) \\\\\n",
    "\\mu_L-\\mu_H & \\in (-3.4074430, -1.23700140) \\\\\n",
    "\\mu_M-\\mu_H & \\in (-2.0961975, -0.03713579) \\\\\n",
    "\\end{aligned}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "female-alfred",
   "metadata": {},
   "source": [
    "从 $\\mu_L-\\mu_M$，$\\mu_L-\\mu_H$ 和 $\\mu_M-\\mu_H$ 的 Bonferroni 同时置信区间都位于负值区间可知，\n",
    "随着三年科研经费的投入越高，当年生产能力的改善越显著。"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "R",
   "language": "R",
   "name": "ir"
  },
  "language_info": {
   "codemirror_mode": "r",
   "file_extension": ".r",
   "mimetype": "text/x-r-source",
   "name": "R",
   "pygments_lexer": "r",
   "version": "4.0.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
